home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Disk & Fichiers / FileIndexer 1.3 / FileIndexer 1.3.doc < prev    next >
Text File  |  1996-01-26  |  7KB  |  163 lines

  1. FileIndexer 1.3
  2. ---------------
  3.  
  4. I really miss OnLocation. (It doesn't run reliably under system 7.5). They have recently
  5. released a server version, but I want a personal indexer.
  6.  
  7. This is my simplistic attempt to knock up some of the key functionality I'm looking for.
  8.  
  9. In a multi-user environment, where you have budget for a server, I recommend
  10. AppleSearch for indexing your documents. I wanted to have a way to quickly retrieve
  11. a list of documents on a mounted disk that contain a given word.
  12.  
  13. FileIndexer trades memory for speed. It builds a sorted list of unique words
  14. (not case sensitive), and then keeps a list of the files that contain each word.
  15.  
  16. This list of lists is kept in memory. This makes it VERY fast to do the binary search.
  17. You can save the index to a file and load it reasonably quickly.
  18.  
  19. Run FileIndexer, choose Index folder, and select the top folder in a tree of
  20. text files to be indexed. Claris XTND can be used (if available) to read documents.
  21. You need to turn it on in the preferences dialog to use it. Note that some documents,
  22. in my experience, will hang XTND. (I have no control over this). If the beach ball 
  23. cursor times out and stops, you are probably stuck. The offending document name
  24. is left displayed in the status field.
  25.  
  26. When done, type a single word into the find field and press return. A list of all
  27. the files that contain that word will be displayed. The first occurence of the word
  28. will be shown in context. An info checkbox lets you see file mod date and the full
  29. path to the file as an alternative.
  30.  
  31. Double-click on the file to open the first 32k of it in a text window. You can choose 
  32. to view the document in it's original app or the app of your choice.
  33.  
  34. From the text window you can use Find or Find again (command-G) to locate the word
  35. you searched for.
  36.  
  37. I built a PowerPC native version but it was slower! Probably due to my heavy use
  38. of the non-native file manager.
  39.  
  40. Limitations
  41. -----------
  42.  
  43. o Only searches for one word at a time.
  44. o Can't currently index read only volumes.
  45. o 68020 and above. (Contact me if you want 68000)
  46. o Requires System 7.
  47.  
  48. To Do
  49. -----
  50.  
  51. o Index the "sound" of words (use soundex etc).
  52. o Move the in memory list to a disk based database!
  53. o Handle multiple words with AND and OR.
  54. o Able to exclude certain folders containing a given string.
  55.  
  56. Tools
  57. -----
  58.  
  59. o Metrowerks Codewarrior 8
  60. o MacApp 3.3
  61. o ObjectMaster
  62.  
  63. History    (DD/MM/YY)
  64. -------
  65.  
  66. 22/12/95    Turned off qTheDebugger & qInspector
  67. 27/12/95    Ditched Insert() when reading files. Load speed 21s down to 3s!
  68. 27/12/95    Sped up indexing thanks to Metrowerks code profiler.
  69.             Release of version 1.0
  70. 28/12/95    Started on 1.1
  71.             Indexing done in a cohandler so time is given to other apps.
  72.             It's a bit slower but is nicer to other apps and allows context switches etc.
  73.             Plays a sound when indexing is done.
  74.             Reduced RAM overhead of index slightly.
  75.             Added a "stop words" feature to exclude common non-interesting words.
  76.             Added printing of the document window.
  77. 30/12/95    Release of version 1.1
  78.             Started on 1.2b1
  79. 06/01/96    Fixed write to nil during startup.
  80.             Added extra preferences: stem, xtnd, view options. (Doc version to 3).
  81. 07/01/96    Added support for Claris XTND to index and display documents.
  82. 07/01/96    Shipped 1.2b1 to beta testers, started 1.2b2
  83.             Added arrowKeyselection behavior to file list view.
  84.             Return and enter now simulate a double click.
  85.             Did some work on the printing, headers & footers etc.
  86.             Fixed home & end keys by applying patch to UScroller.
  87.             Fixed the open in chosen app feature.
  88.             Made the document dirty after preference change.
  89.             Switched to a Hash index rather than storing words.
  90.             - Old test index: 275k, now is 176k
  91.             - This produces some bogus hits, will look for better hash functions
  92.             Bumped file version as no longer compatable.
  93. 08/1/96        - Bumped to 1.2b3
  94.             - Found a problem with errors during XTND reads.
  95.             - Added user option to not use XTND, Changed file version.
  96.             - Switched to MacApp's memory allocator.
  97.             - Added a filter to remove TEXT files that shouldn't be indexed,
  98.               such as acrobat '.pdf' files. (Others??)
  99.             - Reduced index size by removing hit count field. 275k -> 176k -> 154k
  100.             - Fixed a bug when indexing a single file.
  101.             - Fixed a bug relating to the stop words compare function.
  102.             - Removed the show word list functionality (no point with hashing).
  103.             - Added a warning if you try to look for more than one word.
  104. 09/01/96    - Cleaned up what happens if you close a doc that's indexing.
  105.             - Fixed up out of memory failure crash. Now gives message.
  106.             - Improved the open in app etc functions that sometimes didn't correctly
  107.               find the Finder process.
  108. 10/01/96    - Bumped to 1.2b4
  109.             - Changed doc version number
  110.             - Tried Dave Abraham's better hash function
  111.             - Found a bug in AddWord(). (Wrong compare parameter structure used).
  112.             - Implemented word stemming
  113.             - Shipped a version to Al.
  114.             - Improved the about box.
  115. 11/01/96    - Bumped to 1.2 final ready for testing and release.
  116.             - Released to Info-mac archives.
  117. 12/10/96    - Bumbed to 1.3b1
  118.             - Added barber pole display to thermometers during unknown length operations
  119.             - Improved memory allocator for the TMiniFile class (thanks Jim Coplien!)
  120.               My test folder has 24,000 of these objects to delete.
  121. 13/01/96    - Show found word in context feature added.
  122.             - Found small memory leak when closing document.
  123.             - Improved user feedback during file and folder count phase
  124.             - Distributed to test list.
  125. 14/01/96    - Made the text drag and dropable
  126.             - Added a drop small icon for indexing folders by dropping them on it
  127.               Clicking it shows the choose index folder dialog.
  128.             - Removed all shorts to get rid of 32k limits. Bumped file version.
  129.             - Added appleScript support (index folder not working yet).
  130.             - Made the barber pole animate the other way.
  131.             - Took out my operator new as it leaks.
  132. 16/01/96    - Bumbed to 1.3b2
  133.             - Switched to Metrowerks CW 8 (code got smaller by about 80k!).
  134. 19/01/96    - Enter now searches same as return (thanks geo)
  135.             - Added scroll to found word preference, bumped file version
  136.             - After a successful search, select the first hit in the list
  137.             - You can now drop a folder or file anywhere in the window to index.
  138.             - Optimised indexing slightly by removing an object new/delete each time
  139. 21/01/96    - Sent to beta testers before general release.
  140.             - Bumped to 1.3b3
  141.             - Removed appleScript support for now due to overhead
  142.               (this will come back in the database version).
  143.             - Removed some unused resources.
  144.             - Built with symbols off to reduce size.
  145. 26/01/96    - Release of 1.3 to InfoMac
  146.  
  147.  
  148. (c) 1995,1996 Peter Marks
  149. Suggestions for future enhancements most welcome, but I make no guarantee of support.
  150. This freeware is supplied as is, use at your own risk.
  151. Please contact me for permission to include on commercial collections.
  152.  
  153. mailto: Peter.Marks@PoBox.com
  154.  
  155. Acknowledgements
  156. ----------------
  157.  
  158. Thanks for support to:
  159.  
  160. Gregory Kearney, Allan Herman, Alastair Rankine, Geert Jan Bex, Keith F. Batchelder, 
  161. tony stevenson, Federico Cavaglia', Farhad Anklesaria, Dave Abrahams, MetaTheory, 
  162. Jim Coplien, George Bray, you...
  163.